package com.liuqianfei.markme.core;

public class Configuration
{
    /**
     * `false`. Set `true` to enable HTML tags in source. Be careful!
     * That's not safe! You may need external sanitizer to protect output from XSS.
     * It's better to extend features via plugins, instead of enabling HTML.
     */
    public boolean html = false;
    
    /**
     * `false`. Set `true` to add '/' when closing single tags
     * (`<br />`). This is needed only for full CommonMark compatibility. In real
     * world you will need HTML output.
     */
    public boolean xhtmlOut = false;
    
    /**
     * `false`. Set `true` to convert `\n` in paragraphs into `<br>`.
     */
    public boolean breaks = false;
    
    /**
     * `language-`. CSS language class prefix for fenced blocks.
     * Can be useful for external highlighters.
     */
    public String langPrefix = "language-";
    
    /**
     * `false`. Set `true` to autoconvert URL-like text to links.
     */
    public boolean linkify = false;
    
    /**
     * `false`. Set `true` to enable [some language-neutral
     * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +
     * quotes beautification (smartquotes).
     */
    public boolean typographer = false;
    
    /**
     * `“”‘’`, String or Array. Double + single quotes replacement
     * pairs, when typographer enabled and smartquotes on. For example, you can
     * use `'«»„“'` for Russian, `'„“‚‘'` for German, and
     * `['«\xA0', '\xA0»', '‹\xA0', '\xA0›']` for French (including nbsp).
     */
    public char[] quotes = {'\u201c', '\u201d', '\u2018', '\u2019'};
    
    /**
     * `null`. Highlighter function for fenced code blocks.
     * Highlighter `function (str, lang)` should return escaped HTML. It can also
     * return empty string if the source was not changed and should be escaped
     * externaly. If result starts with <pre... internal wrapper is skipped.
     */
    public boolean highlight = false;
    
    public int maxNesting = 10;
}
